Database consolidation involves distributing and sharing computing resources among multiple databases. Databases may be consolidated using a container database management system. A consolidated database, such as a multitenant container database (CDB), includes one or more pluggable databases (PDBs). In a container database management system, each pluggable database may be open or closed in the container database independently from other pluggable databases.
Pluggable databases may be “plugged in” to a container database, and may be transported between database servers and/or DBMSs. The container database may manage multiple pluggable databases and a given database server instance may serve those pluggable databases from the container database. As such, a given container database allows multiple pluggable databases to run on the same database server and/or database server instance, allowing the computing resources of a single database server or instance to be shared between multiple pluggable databases.
An application may access a pluggable database by establishing a database session on the container database management system for that pluggable database, where a database session represents the connection between an application and the pluggable database. A database session is initiated for a pluggable database by, for example, transmitting a request for a new connection to the container database management system, the request specifying the pluggable database. A container database management system may host multiple database sessions, each database session being for one of multiple pluggable databases.
At times, it is necessary to move hosting of a particular PDB, included in a particular CDB, between database server instances that are serving data from the CDB. Generally, to migrate service of a PDB from a source database server instance to a destination database server instance, the source database server instance stops serving the PDB and the destination database server instance initiates service to the PDB.
Such change of service may cause data management problems. For example, once the source database server instance stops serving the PDB that is being migrated, the destination database server instance may be inundated with costly connection initiation requests. Such a wave of connection requests can significantly impact performance of the destination database server instance. Furthermore, the resources of the destination database server instance are further taxed by retrieving data for the migrated PDB from persistent storage in order to begin servicing the PDB.
Thus, the amount of processing power required to start service of a migrated PDB at the destination database server instance generally impacts the performance of applications that require resources that are accessed through the destination database server instance. As such, it would be beneficial to provide a way of migrating a PDB between database server instances to minimize the impact on application performance.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.